草庐IT

k-means 聚类

全部标签

【scikit-learn基础】--『监督学习』之 层次聚类

层次聚类算法是机器学习中常用的一种无监督学习算法,它用于将数据分为多个类别或层次。该方法在计算机科学、生物学、社会学等多个领域都有广泛应用。层次聚类算法的历史可以追溯到上世纪60年代,当时它主要被用于社会科学中。随着计算机技术的发展,这种方法在90年代得到了更为广泛的应用。1.算法概述层次聚类的基本原理是创建一个层次的聚类,通过不断地合并或分裂已存在的聚类来实现。它分为两种策略:凝聚策略:初始时将每个点视为一个簇,然后逐渐合并相近的簇分裂策略:开始时将所有点视为一个簇,然后逐渐分裂在scikit-learn中,层次聚类的策略有4种:ward:默认策略,也就是最小方差法。它倾向于合并那些使得合并

【scikit-learn基础】--『监督学习』之 均值聚类

聚类算法属于无监督学习,其中最常见的是均值聚类,scikit-learn中,有两种常用的均值聚类算法:一种是有名的K-means(也就是K-均值)聚类算法,这个算法几乎是学习聚类必会提到的算法;另一个是均值偏移聚类,它与K-means各有千秋,只是针对的应用场景不太一样,但是知名度远不如K-Means。本篇介绍如何在scikit-learn中使用这两种算法。1.算法概述1.1.K-MeansK-means算法起源于1967年,由JamesMacQueen和J.B.Hartigan提出。它的基本原理是是将n个点划分为K个集群,使得每个点都属于离其最近的均值(中心点)对应的集群。K-Means算法

【scikit-learn基础】--『监督学习』之 均值聚类

聚类算法属于无监督学习,其中最常见的是均值聚类,scikit-learn中,有两种常用的均值聚类算法:一种是有名的K-means(也就是K-均值)聚类算法,这个算法几乎是学习聚类必会提到的算法;另一个是均值偏移聚类,它与K-means各有千秋,只是针对的应用场景不太一样,但是知名度远不如K-Means。本篇介绍如何在scikit-learn中使用这两种算法。1.算法概述1.1.K-MeansK-means算法起源于1967年,由JamesMacQueen和J.B.Hartigan提出。它的基本原理是是将n个点划分为K个集群,使得每个点都属于离其最近的均值(中心点)对应的集群。K-Means算法

【2023年中国高校大数据挑战赛 】赛题 B DNA 存储中的序列聚类与比对 Python实现

【2023年中国高校大数据挑战赛】赛题BDNA存储中的序列聚类与比对Python实现更新时间:2023-12-291题目赛题BDNA存储中的序列聚类与比对近年来,随着新互联网设备的大量涌入和对其服务需求的指数级增长,越来越多的数据信息被产生与收集。预计到2021年,数据中心内部的IP流量将达到14.7ZB,数据中心之间的流量将达到2.8ZB。如何储存与运输如此庞大的数据已经成为了难题。DNA存储技术是一项着眼于未来的具有划时代意义存储技术,正成为应对数据爆炸的关键技术之一。DNA存储技术指的是使用人工合成的脱氧核糖核苷酸(DNA)作为介质进行信息存储的技术,其具有理论存储量大、维护方便的优点。

Python | 机器学习之聚类算法

​🌈个人主页:SarapinesProgrammer🔥系列专栏:《人工智能奇遇记》🔖墨香寄清辞:诗馀墨痕深,梦漫星辰寂。曲径通幽意犹在,剑指苍穹气势立。目录结构1.机器学习之聚类算法概念1.1机器学习1.2聚类算法2.聚类算法2.1实验目的2.2实验准备2.3实验原理2.4 实验内容2.4.1K-means算法2.4.2K-mean++算法2.4.3K_medoids算法2.4.4DBScan算法2.5 实验心得致读者1.机器学习之聚类算法概念1.1机器学习传统编程要求开发者明晰规定计算机执行任务的逻辑和条条框框的规则。然而,在机器学习的魔法领域,我们向计算机系统灌输了海量数据,让它在数据的奔

人工智能_机器学习085_DBSCAN算法介绍_具有噪声基于密度的聚类_基于密度的空间聚类方法---人工智能工作笔记0125

然后我们再来看一种聚类算法,叫做DBSCAN算法可以看到,他和KMeans的原理完全不一样,这个是基于密度的聚类方法,就是在一堆数据中,把密度最大的数据,归为一类这里的划分为簇,其实就是 划分类别的意思 这个簇,就跟鱼群一样,一个鱼群中肯定是同一种鱼类.然后我们再来看,DBSCAN算法的基本原理,可以看到这里A点是核心点,我们以这个核心点进行画圆,在圆圈中的点,全部会被划分为一类对吧,然后我们再看N这个点,这个点不在圆圈内,这个N点就是一个离群点然后B,C这两个点,可以看到黄色的是边界点,在边界上,但是B,C这两个边界点也属于A这个圆划分的类之前我们在做KMeans聚类的时候,我们说KMean

algorithm - 使用 Hadoop 记录关联/聚类

我们的Hadoop集群每天摄取数TB的网络日志。每条日志记录都包含用户IP地址、cookieID等信息。但是,不同的IP地址和cookieID可以对应一个物理用户(家庭/工作计算机等)。我们设计了一个函数来计算任何一对记录的匹配分数,分数越高意味着两条记录对应一个物理用户的概率越高。目标是使用评分函数将所有记录分成可能对应于一个物理用户的组,并通过唯一的组ID(即物理用户ID)标记组中的所有记录。使用Hadoop/Mahout实现此逻辑的最佳方法是什么? 最佳答案 首先,我假设您知道如何链接MapReduce作业。如果没有,请参阅h

hadoop - OpenIMAJ 库中的 K-Means 聚类

我在机器学习和聚类分析方面不是很有经验,但我有以下问题:我有大约100kk-1000kk条数据,我无法一次将它们全部加载到内存中,我需要将其分成多个类(例如1-10k甚至100k类)以供进一步分析。为此,我选择了在OpenIMAJ库(FloatKMeans类)中实现的K-Means算法。我了解到K-Means算法可以分为2个阶段:学习阶段-我传递所有我必须创建/填充类(class)的数据分配阶段-在这里我可以询问集群给定数据属于哪个类我计划使用Hadoop减少阶段构建集群模型,我将一个接一个地接收数据片段(这就是为什么我不能一次将所有数据传递给算法的原因)我的问题是:OpenIMAJ实

K-Means 的 Hadoop 分布式版本?

想知道是否有针对K-Means的Hadoop分布式版本的开源实现?请求Hadoop,因为数据很大,不能装在一个盒子里。提前致谢,林 最佳答案 您可以使用spark为了这。Spark实现KMeans.Spark使用RDD(弹性分布式数据集)。您的数据分布在您的集群上,每个节点处理最接近的数据。Spark的性能可以比Mahout更好,因为一些中间过程没有写在HDFS上。 关于K-Means的Hadoop分布式版本?,我们在StackOverflow上找到一个类似的问题:

hadoop - canopy聚类算法中如何增加reducer的数量

我正在使用mahout运行树冠聚类算法。这是我通过mahout命令行运行的命令。mahoutcanopy-i/mahout/o_seqsparse/tfidf-vectors-o/mahout/o_canopy-dmorg.apache.mahout.common.distance.SquaredEuclideanDistanceMeasure-ow-t1100-t250下面是map&reduce任务运行的数量:没有。maptask运行-->6没有。reducetask运行-->1但是因为一个reducer,这花费了太多时间。我想,如果我能够增加reduce任务的数量,那么我会获得更好